1. Práctica 1<br />Tema :<br />Entrada y salida de los Microcontroladores PIC<br />Objetivo: Utilizar los puertos del Microcontroladores Pic, como interface digital al mundo exterior<br />Ejercicios:<br />1.- Escribir en el puerto B el valor 55h<br />ALGORITMO:<br />ENTRADAS :<br />NUMERO HEXADECXIMAL 55H<br />PROCESO:<br />ESCRIBIR EN EL PUERTO B EL VALOR DE 55H CON UN RETARDO DE 1 SEGUNDO<br />SALIDA :<br /> PUERTO B CON VALOR 55H<br />INICIODIAGRAMA DE FLUJO<br />FIN Retardo de 1 segundoSi puerto B esta en 1 LógicoEscribir el valor 55H en el puerto BHabilitar el Puerto B como salida<br />NO<br />SI<br />CODIGO:<br />Practica_1<br />trisb=0<br />main:<br />portb:$55<br />delay_ms(100)<br />end.<br />ESQUEMATIZADO<br />VISULAIZACION DEL MODULO<br />OBSERVAMOS LA SIMULACION<br />2.- Ejercicio de aplicación escribir en el puerto B el valor de AA<br />ALGORITMO:<br />ENTRADAS :<br />NUMERO HEXADECXIMAL AA<br />PROCESO:<br />ESCRIBIR EN EL PUERTO B EL VALOR DE AA CON UN RETARDO DE 1 SEGUNDO<br />SALIDA :<br /> PUERTO B CON VALOR AA<br />DIAGRAMA DE FLUJO<br />INICIO<br />FIN Retardo de 1 segundoSi puerto B esta en 1 LógicoEscribir el valor AA en el puerto BHabilitar el Puerto B como salida<br />NO<br />SI<br />CODIGO:<br />Practica_2<br />trisb=0<br />main:<br />portb:$AA<br />delay_ms(100)<br />end.<br />852805481965ESQUEMATIZADO<br />VISULAIZACION DEL MODULO<br />OBSERVAMOS LA SIMULACION<br />3.- Ejercicio de aplicación el puerto C escribir el valor de F0<br />ALGORITMO:<br />ENTRADAS :<br />NUMERO HEXADECXIMAL F0<br />PROCESO:<br />ESCRIBIR EN EL PUERTO C EL VALOR DE F0 CON UN RETARDO DE 1 SEGUNDO<br />SALIDA :<br /> PUERTO C CON VALOR F0<br />DIAGRAMA DE FLUJO<br />INICIO<br />NOSIFIN Retardo de 1 segundoSi puerto C esta en 1 LógicoEscribir el valor F0 en el puerto CHabilitar el Puerto C como salida<br />CODIGO:<br />Practica_3<br />trisc=0<br />main:<br />portc:$F0<br />delay_ms(100)<br />end.<br />ESQUEMATIZADO<br />VISULAIZACION DEL MODULO<br />OBSERVAMOS LA SIMULACION<br />4.- Leer en el puerto C y escribir en el puerto B<br />ALGORITMO:<br />ENTRADAS :<br />LEER EL VALOR DEL PUERTO C<br />PROCESO:<br />LEER EN EL PUERTO C Y ESCRIBIR EN EL PUERTO B EL VALOR DEL PEURTO C<br />SALIDA :<br />ESCRIBIR EN EL PUERTO B EL VALOR DEL PUERTO C<br />INICIODIAGRAMA DE FLUJO<br />Declarar la variable valor como byte<br />Habilitar el Puerto C como entrada<br />Habilitar el Puerto Bcomo salida<br />Si puerto C esta en 1 LógicoFIN <br />NOSI<br />Guradar los datos de la variable valor <br />Escribir los datos de la variable valor en el puerto B<br />Retardo de 1 segundo<br />CODIGO:<br />Practica_4<br />dim valor as byte<br />main:<br />lazo:<br />trisc=$ff<br />trisb=0<br />valor =portc<br />portb=valor<br />goto lazo<br />end.<br />ESQUEMATIZADO<br />VISULAIZACION DEL MODULO<br />5.- ejercicio de aplicación leer en el puerto A y escribir en el puerto D.<br />ALGORITMO:<br />ENTRADAS :<br />LEER EL VALOR DEL PUERTO A<br />PROCESO:<br />LEER EN EL PUERTO A Y ESCRIBIR EN EL PUERTO D EL VALOR DEL PEURTO A<br />SALIDA :<br />ESCRIBIR EN EL PUERTO D EL VALOR DEL PUERTO D<br />INICIODIAGRAMA DE FLUJO<br />Declarar la variable valor como byte<br />Habilitar el Puerto Acomo entrada<br />Habilitar el Puerto Dcomo salida<br />Si puerto A esta en 1 LógicoNOFIN <br />SI<br />Guardar los datos de la variable valor <br />Escribir los datos de la variable valor en el puerto D<br />Retardo de 1 segundo<br />CODIGO<br />Practica_5<br />dim valor as byte<br />main:<br />lazo:<br />trisa=$ff<br />trisd=0<br />valor =porta<br />portd=valor<br />goto lazo<br />end.<br />ESQUEMATIZADO<br />VISULAIZACION DEL MODULO<br />6.- escribir en un display de 7 segmentos sin utilizar decodificador, un valor ascendente entre 0 y F<br />ALGORITMO:<br />ENTRADAS :<br />VALORES ASCENDENTE DESDE 0 HASTA F<br />PROCESO:<br />LEER LOS VALORES ASCENDENTES DEL 0 AL F Y ESCRIBIR EN EL PUERTO B PARA SER REPRESENTADO EN EL DISPLAY <br />SALIDA :<br />ESCRIBIR LOS VALORES DEL 0 AL F EN EL DISPLAY<br />DIAGRAMA DE FLUJOINICIO<br />Habilitar el Puerto Bcomo salida<br />Conectar el Puerto B a los segmentos del display<br />NOSi puerto B esta en 1 LógicoFIN <br />SI<br />Escribir los valores numéricos del 0 al F en el Puerto B<br />Desplejar los valores del Puerto Ben el display <br />Retardo de 2 segundo<br />CODIGO<br /> practica_6<br />trisb=$0<br />main:<br />lazo:<br />portb=%00111111<br />delay_ms(2000)<br />portb=%00000110<br />delay_ms(2000)<br />portb=%01011011<br />delay_ms(2000)<br />portb=%01001111<br />delay_ms(2000)<br />portb=%01100110<br />delay_ms(2000)<br />portb=%01101101<br />delay_ms(2000)<br />portb=%01111101<br />delay_ms(2000)<br />portb=%00000111<br />delay_ms(2000)<br />portb=%01111111<br />delay_ms(2000)<br />portb=%01100111<br />delay_ms(2000)<br />portb=%01110111<br />delay_ms(2000)<br />portb=%01111100<br />delay_ms(2000)<br />portb=%01011000<br />delay_ms(2000)<br />portb=%01011110<br />delay_ms(2000)<br />portb=%01111001<br />delay_ms(2000)<br />portb=%01110001<br />delay_ms(2000)<br />goto lazo<br />end.<br />ESQUEMATIZADO<br />VISULAIZACION DEL MODULO<br />7.-Ejercicio de aplicación mediante un display alfanumérico mostrar en orden descendente todas las letras del alfabeto de la Z a la A<br />ALGORITMO:<br />ENTRADAS :<br />LETRAS DESDE LA Z AHASTA LA A DESCENDENTEMENTE<br />PROCESO:<br />LEER LOS VALORES DESCENDENTES DESDE LA Z HASTA LA A Y ESCRIBIR EN EL PUERTO B PARA SER REPRESENTADO EN EL DISPLAY <br />SALIDA :<br />ESCRIBIR LOS VALORES DESDE LA Z HASTA LA A EN EL DISPLAY<br />DIAGRAMA DE FLUJOINICIO<br />Habilitar el Puerto Bcomo salida<br />Conectar el Puerto B a los segmentos del display<br />NOSi puerto B esta en 1 LógicoFIN <br />SI<br />Escribir los datos alfanuméricos desde la Z hasta la A en el Puerto B<br />Desplegar los valores del Puerto B en el display <br />Retardo de 2 segundo<br />CODIGO<br />Practica_7<br />trisb=$0<br />main:<br />lazo:<br />portb=%001001000001001<br />delay_ms(2000)<br />portb=%011001000000000<br />delay_ms(2000)<br />portb=%011011000000000<br />delay_ms(2000)<br />portb=%001010100110000<br />delay_ms(2000)<br />portb=%00000000011111<br />delay_ms(2000)<br />portb=%000100100000001<br />delay_ms(2000)<br />portb=%000000011101101<br />delay_ms(2000)<br />portb=%000010100110001<br />delay_ms(2000)<br />portb=%00010000111111<br />delay_ms(2000)<br />portb=%000000011110011<br />delay_ms(2000)<br />portb=%000000000111111<br />delay_ms(2000)<br />portb=%010010000110110<br />delay_ms(2000)<br />portb=%010001000110110<br />delay_ms(2000)<br />portb=%000000000111000<br />delay_ms(2000)<br />portb=%000111100000000<br />delay_ms(2000)<br />portb=%001000000001110<br />delay_ms(2000)<br />portb=%000100100001001<br />delay_ms(2000)<br />portb=%000000011110110<br />delay_ms(2000)<br />portb=%000000011111101<br />delay_ms(2000)<br />portb=%000000110110001<br />delay_ms(2000)<br />portb=%000000110111001<br />delay_ms(2000)<br />portb=%011000000110000<br />delay_ms(2000)<br />portb=%000000000111001<br />delay_ms(2000)<br />portb=%000100110001111<br />delay_ms(2000)<br />portb=%000000011110111<br />delay_ms(2000)<br />goto lazo<br />end.<br />ESQUEMATIZADO<br />VISULAIZACION DEL MODULO<br />8.- lógica booleana con Microcontroladores<br />ALGORITMO:<br />ENTRADAS :<br />HABILITAMOS EL PUERTO C COMO ENTRADAS<br />PROCESO:<br />EN EL PUERTO C SE VAN A REALIZAR LAS OPERACIONES AND,OR, Y XOR Y SE VAB A ESCRIBIR EN EL PURTO B <br />SALIDA :<br />ESCRIBIR LOS VALORES VOLEANOS EN EL PUERTO B<br />DIAGRAMA DE FLUJOINICIO<br />Habilitar el Puerto Bcomo salida<br />Habilitar el Puerto C como entradas<br />NOSi puerto C esta en 1 LógicoFIN <br />SI<br />Leer en el Puerto C<br />Operación ANDOperación OrOperación Xor<br />Escribir en el Puerto B<br />CODIGO<br />Practica_8<br />trisc=$ff<br />trisb=$0<br />main:<br />portb.0=potc.0andportc.1<br />portb.1=portc.2 or portc.3<br />portb.2=portc4 xor portc.5<br />goto main<br />end<br />ESQUEMATIZADO<br />VISULAIZACION DEL MODULO<br />Conclusiones:<br />La utilización de los Microcontroladores nos presenta una gran gama de manejos en distintas aplicaciones .<br />Hay que tener en cuenta las conexiones del cableado para que de esa manera no se corra ningún riesgo la momento de probra los circuitos con PIC<br />Tener en cuenta donde se guarda el código *.hex que lleva el código binario o hexadecimal que permite al Microcontroladores realizar sus operaciones<br />Saber cuales son salidas entradas, lecturas en el Microcontroladores para no confundir su funcionamiento.<br />Se necesita tener en cuenta que no mas contiene el microcontrolador PIC16F877A sus salidas entradas para sus distintas aplicaciones en el mundo de los pic.<br />BIBLIOGRAFIA:<br />APUNTES TOMADOS EN CLASE<br />HOJAS DADAS EN SISTEMAS MICROPROCESADOS 1<br />ELECTRONICA PRACTICA CON MICROCONTROLADORES PIC,SANTIAGO CORRALES V.<br />ANEXOS<br />153613922588153611353008<br />